#include "gps.hpp"

#include <fstream>
#include <iomanip>
#include <iostream>

#include "gtest/gtest.h"
#include "log.hpp"
#include "spdlog/spdlog.h"

// TEST(TestDevice, TestGPS) {
//   component::Logger::SetLogger("log/GPS.log",
//                                component::Logger::FMT::kFMT_NONE);
//   GPS gps;
//   std::ifstream sm;

//   int count = 0;
//   sm.open("/home/rm/Downloads/serdet.txt", std::ios::ios_base::in);
//   std::string s;
//   while (!sm.eof())
//     while (std::getline(sm, s)) {
//       count++;
//       if (s.size() < 20 || s.size() > 200) {
//         SPDLOG_DEBUG("size: {}", s.size());
//         continue;
//       }
//       auto pt = gps.ParseSingleSentence(s);
//       if (pt.type == component::NmeaType::kRMC)
//         SPDLOG_WARN("{} : {}, {}, {}, {}",
//         component::NmeaTypeToString(pt.type),
//                     pt.la, pt.lon, gps.GetAltitude(), gps.GetTimeStamp());
//     }

//   sm.close();  //关闭文件输入流

//   EXPECT_EQ(1, 1);
// }

// TEST(TestDevice, TestGPSThread) {
//   component::Logger::SetLogger("log/gpps.log");
//   GPS gps;

//   while (true) {
//     auto data = gps.GetData();
//     SPDLOG_WARN("{} : {}, {}", component::NmeaTypeToString(data.type),
//     data.la,
//                 data.lon);
//     std::this_thread::sleep_for(std::chrono::milliseconds(3));
//   }
//   EXPECT_EQ(1, 1);
// }